Some electronic devices are utilized for high speed applications, such a double data rate transmission logic. For circuits in high speed applications a balance of switching time for output value switches, or transitions, can be desirable. Logic circuits can be monotonic with respect to all input variables, can be non-monotonic with respect to all the input variables, or can be monotonic with respect to some of the input variables and non-monotonic with respect to other input variables. In digital logic circuits, a circuit is referred to as “monotonic increasing” with respect to an input variable if the output value of the logic circuit is always greater than or equal to the output value of the logic circuit when the input variable is equal to one as compared to the output value of the logic circuit when the input variable is zero. A circuit is monotonic decreasing with respect to an input variable if the output value of the logic circuit is always less than or equal to the output value of the logic circuit when the input variable is equal to one as compared to the output value of the logic circuit when the input variable is zero. However, if neither of the above conditions is true for an input variable, then the logic circuit is non-monotonic with respect to that input variable. For monotonic functions of the logic circuit, signal path delays can be balanced by transistor sizing within certain signal paths. However, for non-monotonic functions, signal path delays cannot be balanced by transistor sizing, but instead transistor sizing causes the balance to decrease. Therefore, a circuit design is needed to balance signal path delays for non-monotonic functions of a logic circuit.
The use of the same reference symbols in different drawings indicates similar or identical items.